jQuery(document).ready(function ($) { /* * wp_localize_script * */ var bp_pattern = obj.pattern, bp_patterns = obj.patterns, bp_position = $(window).scrollTop(), $body = $('body'); if (typeof bp_patterns == 'undefined') { bp_patterns = []; } bp_patterns.push(bp_pattern); if (!obj.disableBumperModal) { var timeString = Date.now().toString(); //cache file for 99 sec var timestamp = timeString.substr(0, 8); $.getJSON(obj.modalJsonFile + '?' + timestamp , function(data){ $.each(data, function (i, value) { $('a[href^="' + value.url + '"]').each(function (i, currentUrl) { var $currentUrl = $(currentUrl); if (!$currentUrl.hasClass('skipModal')) { $currentUrl.addClass('showModal'); $currentUrl.attr('data-slug', value.slug); } }); }); }).fail(function(){ console.warn("Bumper is missing modal JSON cache file. Save an affiliate link to fix the issue."); }); } $body.on('click', '.showModal', function (e) { var $this = $(this), $bumperForm = $('#bumperform'); e.preventDefault(); gotourl = window.location.hostname + "/" + bp_pattern + '/' + $this.data('slug'); $bumperForm.attr("target", "_blank"); $('input[name="bumperUrl"]', $bumperForm).val(gotourl); $('input[name="bumperPosition"]', $bumperForm).val(bp_position); $bumperForm.submit(); setTimeout(function () { // Delay for Chrome window.location.href = '//' + gotourl; // redirect main window after 100ms }, 100); }); $body.on('click', 'a[class*=reveal-]', function (e) { var $anchor = $(e.currentTarget), defaultCode = "Bonus code", extractSlug = function (classes) { var matches = classes.match(/(^|\s)reveal-([\w-]*)/); return Array.isArray(matches) ? matches[2] : null; }, slug = extractSlug($anchor.attr("class")), replaceContent = function ($anchor, bonusCode) { var $button = $anchor.find('span.btn-inner'), $element = ($button.length > 0) ? $button : $anchor; $element.html(bonusCode); }; if (slug) { $.get( obj.ajaxUrl, { 'action': 'bumperBonusCode', 'slug': slug }, null, 'json' ) .done(function (affiliateLink) { replaceContent( $anchor, affiliateLink.bonusCode.value || defaultCode ); }); } }); var CopyClipboard = new ClipboardJS(".bpc-copy "); CopyClipboard.on('success', function (e) { e.trigger.innerHTML = e.trigger.getAttribute('data-clipboard-copied'); }); new ClipboardJS("[data-clipboard-text]"); }); function distinct(value, index, self) { return self.indexOf(value) === index; }